﻿namespace OasisCiq.Xpil
{
    using System.Collections.Specialized;
    using CommonTypes;
    using External;
    using XS;

    /// <summary>
    /// Description of body marks, such as scars, tatoos, spots, etc.
    /// </summary>
    public class BodyMark : CTString, IDataQualityGroup, IExtendedAttributes
    {
        public BodyMark(string value) 
            : base(value)
        {
        }

        /// <summary>
        /// Free text name/description of the body 
        /// part where the mark is located
        /// </summary>
        public BodyMarkPartList Part { get; set; }

        /// <summary>
        /// Free text description of where on the body part the mark 
        /// is located. E.g. left hand side, front, back, etc
        /// </summary>
        public BodyMarkPartLocationList Location { get; set; }

        /// <summary>
        /// This attribute indicates what level of trust can be given to the parent element.
        /// Omit this attribute if the data quality is unknown. If the data quality is known,
        /// the value is "Valid, else "InValid"
        /// </summary>
        public DataQualityTypeList DataQualityType { get; set; }

        /// <summary>
        /// Date the data quality is valid from
        /// </summary>
        public XSDateTime ValidFrom { get; set; }

        /// <summary>
        /// Date the data quality is valid to
        /// </summary>
        public XSDateTime ValidTo { get; set; }

        public NameValueCollection ExtendedAttributes { get; set; }
    }
}
